From 0431239eadba0b0d1d09c66d14677d25169c8a6b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 8 Nov 2010 20:17:17 +0100 Subject: [PATCH] GtkThemingEngine: ensure 1px wide frames aren't painted between pixels. --- gtk/gtkthemingengine.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index a2cd214bec..c007274ccc 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1663,6 +1663,13 @@ gtk_theming_engine_render_frame (GtkThemingEngine *engine, width -= border_width; height -= border_width; } + else if (border_width == 1) + { + x += 0.5; + y += 0.5; + width -= 1; + height -= 1; + } _cairo_round_rectangle_sides (cr, (gdouble) radius, x, y, width, height, SIDE_ALL, junction); @@ -1675,13 +1682,16 @@ gtk_theming_engine_render_frame (GtkThemingEngine *engine, cairo_set_line_width (cr, border_width); cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); - d1 = d2 = 0; - if (border_width > 1) { d1 = (gdouble) border_width / 2; d2 = (gdouble) (border_width - (gint) d1) + 1; } + else + { + d1 = 0.5; + d2 = 1; + } cairo_save (cr); -- 2.30.2